package com.ruoyi.washer.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 购买记录对象 xw_purchase_order
 *
 * @author hawking
 * @date 2023-12-15
 */
public class XwPurchaseOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 平台订单ID */
    private Long orderNo;

    /** 订单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payDate;

    /** 支付类型 */
    @Excel(name = "支付类型")
    private String payType;

    /** 支付用户openid */
    @Excel(name = "支付用户openid")
    private String openId;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String deviceType;

    /** 租或购 */
    @Excel(name = "租或购")
    private String buyType;

    /** 设备SN码 */
    @Excel(name = "设备SN码")
    private String deviceSn;

    /** 洗衣球sn */
    @Excel(name = "洗衣球sn")
    private String washballSn;

    /** 支付状态 */
    @Excel(name = "支付状态")
    private String payState;

    /** 支付金额 */
    @Excel(name = "支付金额")
    private BigDecimal payAmount;

    /** 实际到账金额 */
    @Excel(name = "实际到账金额")
    private BigDecimal payAmountReal;

    /** 退款状态; */
    @Excel(name = "退款状态;")
    private String refundState;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /** 实际退款金额 */
    @Excel(name = "实际退款金额")
    private BigDecimal refundAmountReal;

    /** 内部订单号 */
    @Excel(name = "内部订单号")
    private String outTradeNo;

    /** 微信订单号 */
    @Excel(name = "微信订单号")
    private String prepayId;

    /** 创建时间 */
    private Date createdTime;

    /** 更新时间 */
    private Date updatedTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rentStartTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rentEndTime;
    private String divideState;
    private String divideOrder;

    private String finishState;

    private BigDecimal perhourPrice;

    private String devideAmount;
    private String devidePercentage;

    /**
     * 是否取消 0:否 1:是
     */
    private String isCancel;

    public String getDevideAmount() {
        return devideAmount;
    }

    public void setDevideAmount(String devideAmount) {
        this.devideAmount = devideAmount;
    }

    public String getDevidePercentage() {
        return devidePercentage;
    }

    public void setDevidePercentage(String devidePercentage) {
        this.devidePercentage = devidePercentage;
    }

    public BigDecimal getPerhourPrice() {
        return perhourPrice;
    }

    public void setPerhourPrice(BigDecimal perhourPrice) {
        this.perhourPrice = perhourPrice;
    }

    public String getFinishState() {
        return finishState;
    }

    public void setFinishState(String finishState) {
        this.finishState = finishState;
    }

    public Date getRentStartTime() {
        return rentStartTime;
    }

    public void setRentStartTime(Date rentStartTime) {
        this.rentStartTime = rentStartTime;
    }

    public Date getRentEndTime() {
        return rentEndTime;
    }

    public void setRentEndTime(Date rentEndTime) {
        this.rentEndTime = rentEndTime;
    }

    public String getDivideState() {
        return divideState;
    }

    public void setDivideState(String divideState) {
        this.divideState = divideState;
    }

    public String getDivideOrder() {
        return divideOrder;
    }

    public void setDivideOrder(String divideOrder) {
        this.divideOrder = divideOrder;
    }

    public String getDeviceSn() {
        return deviceSn;
    }

    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }

    public void setOrderNo(Long orderNo)
    {
        this.orderNo = orderNo;
    }

    public Long getOrderNo()
    {
        return orderNo;
    }
    public void setPayDate(Date payDate)
    {
        this.payDate = payDate;
    }

    public Date getPayDate()
    {
        return payDate;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setOpenId(String openId)
    {
        this.openId = openId;
    }

    public String getOpenId()
    {
        return openId;
    }
    public void setDeviceType(String deviceType)
    {
        this.deviceType = deviceType;
    }

    public String getDeviceType()
    {
        return deviceType;
    }
    public void setBuyType(String buyType)
    {
        this.buyType = buyType;
    }

    public String getBuyType()
    {
        return buyType;
    }
    public void setWashballSn(String washballSn)
    {
        this.washballSn = washballSn;
    }

    public String getWashballSn()
    {
        return washballSn;
    }
    public void setPayState(String payState)
    {
        this.payState = payState;
    }

    public String getPayState()
    {
        return payState;
    }
    public void setPayAmount(BigDecimal payAmount)
    {
        this.payAmount = payAmount;
    }

    public BigDecimal getPayAmount()
    {
        return payAmount;
    }
    public void setPayAmountReal(BigDecimal payAmountReal)
    {
        this.payAmountReal = payAmountReal;
    }

    public BigDecimal getPayAmountReal()
    {
        return payAmountReal;
    }
    public void setRefundState(String refundState)
    {
        this.refundState = refundState;
    }

    public String getRefundState()
    {
        return refundState;
    }
    public void setRefundAmount(BigDecimal refundAmount)
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount()
    {
        return refundAmount;
    }
    public void setRefundAmountReal(BigDecimal refundAmountReal)
    {
        this.refundAmountReal = refundAmountReal;
    }

    public BigDecimal getRefundAmountReal()
    {
        return refundAmountReal;
    }
    public void setOutTradeNo(String outTradeNo)
    {
        this.outTradeNo = outTradeNo;
    }

    public String getOutTradeNo()
    {
        return outTradeNo;
    }
    public void setPrepayId(String prepayId)
    {
        this.prepayId = prepayId;
    }

    public String getPrepayId()
    {
        return prepayId;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createdTime;
    }
    public void setUpdatedTime(Date updatedTime)
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime()
    {
        return updatedTime;
    }

    public String getIsCancel() {
        return isCancel;
    }

    public void setIsCancel(String isCancel) {
        this.isCancel = isCancel;
    }

    @Override
    public String toString() {
        return "XwPurchaseOrder{" +
                "orderNo=" + orderNo +
                ", payDate=" + payDate +
                ", payType='" + payType + '\'' +
                ", openId='" + openId + '\'' +
                ", deviceType='" + deviceType + '\'' +
                ", buyType='" + buyType + '\'' +
                ", deviceSn='" + deviceSn + '\'' +
                ", washballSn='" + washballSn + '\'' +
                ", payState='" + payState + '\'' +
                ", payAmount=" + payAmount +
                ", payAmountReal=" + payAmountReal +
                ", refundState='" + refundState + '\'' +
                ", refundAmount=" + refundAmount +
                ", refundAmountReal=" + refundAmountReal +
                ", outTradeNo='" + outTradeNo + '\'' +
                ", prepayId='" + prepayId + '\'' +
                ", createdTime=" + createdTime +
                ", updatedTime=" + updatedTime +
                ", rentStartTime=" + rentStartTime +
                ", rentEndTime=" + rentEndTime +
                ", divideState='" + divideState + '\'' +
                ", divideOrder='" + divideOrder + '\'' +
                ", finishState='" + finishState + '\'' +
                ", perhourPrice=" + perhourPrice +
                ", devideAmount='" + devideAmount + '\'' +
                ", devidePercentage='" + devidePercentage + '\'' +
                ", isCancel='" + isCancel + '\'' +
                '}';
    }
}
